package com.ruoyi.app.config.util;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

public class OrderNumberUtil {

    private static final String RC_PREFIX = "RC";  // 充值订单编号前缀

    private static final String PREFIX = "ORD";  // 订单编号前缀

    /**
     * 生成基于时间戳的订单编号
     *
     * @return 充值订单编号
     */
    public static String generateRCOrderNumber() {
        // 获取当前时间的毫秒时间戳
        long timestamp = System.currentTimeMillis();

        // 获取当前日期 (格式：yyyyMMdd)
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
        String datePart = dateFormat.format(new Date(timestamp));

        // 随机数部分，保证在同一毫秒内生成唯一订单号
        Random random = new Random();
        int randomPart = random.nextInt(10000);  // 生成一个0-9999之间的随机数

        // 生成完整的订单编号
        return RC_PREFIX + "-" + datePart + "-" + timestamp + "-" + String.format("%04d", randomPart);
    }


}
